﻿using DocumentFormat.OpenXml.Wordprocessing;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;

namespace NP.BPMReportPlatform.Reports.ThirdFlow.Dtos
{
    public class GetThirdFlowCommonInput : PagedAndSortedRequestDto
    {
        /// <summary>
        /// 单据号
        /// </summary>
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 流程主题
        /// </summary>
        public string Topic { get; set; }

        /// <summary>
        /// 创建者
        /// </summary>
        public string AddUserName { get; set; }

        /// <summary>
        /// 流程类型
        /// </summary>
        public string FlowType { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>
        public List<string> OrderStatus { get; set; }

        /// <summary>
        /// 制单日期（开始节点）
        /// </summary>
        public DateTime? StartCreationTime { get; set; }

        /// <summary>
        /// 制单日期（结束节点）
        /// </summary>
        public DateTime? EndCreationTime { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string[] BTID { get; set; }

        /// <summary>
        /// 是否查询所有数据
        /// </summary>
        public bool IsQueryAll { get; set; }
    }

    public class ThirdFlowCallBakInput
    {
        public string InstanceNumber { get; set; }

        /// <summary>
        /// approved  refused
        /// </summary>
        public string ApproveStatus { get; set; }

        public string ApproveStepName { get; set; }

        public Guid ApproveEmployeeId { get; set; }

        public string Comment { get; set; }

        public string flowStatus { get; set; }
    }

    /// <summary>
    /// 流程操作Dto
    /// </summary>
    public class ThidFlowOpreaterInput
    {
        /// <summary>
        /// 流程编号
        /// </summary>
        [Display(Name = "流程编号")]
        [Required(ErrorMessage = "{0}不能为空！")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 说明
        /// </summary>
        [Display(Name = "说明")]
        [Required(ErrorMessage = "{0}不能为空！")]
        public string Comment { get; set; }

        /// <summary>
        /// 操作时间
        /// </summary>
        [Display(Name = "操作时间")]
        public DateTime OperatingTime { get; set; } = DateTime.Now;

        /// <summary>
        /// 操作人
        /// </summary>
        [Display(Name = "操作人")]
        [Required(ErrorMessage = "{0}不能为空！")]
        public string OperatingUser { get; set; }
    }
}
